import request from '@/utils/request'
import qs from 'qs'
/**
 * 分页获取订单列表
 * @param {String} itemName 商品名称
 * @param {String} TradeNo 订单号
 * @param {String} StartTime 下单时间开始
 * @param {String} EndTime 下单时间截止
 * @param {Number} StartPrice 筛选价格区间的起始价格
 * @param {Number} EndPrice 筛选价格区间的结束价格
 * @param {Number} PageIndex 页数
 * @param {Number} PageSize 每页数量
 */
export function Page(params) {
	return request({
		url: 'Trade/Page',
		method: 'get',
		params
	})
}
/**
 * 根据订单ID获取订单详情
 * @param {String} id 订单ID
 */
export function Get(params) {
	return request({
		url: 'Trade/GetTradeInfo',
		method: 'get',
		params
	})
}
/**
 * 根据订单ID获取订单详情
 * @param {String} id 订单ID
 */
export function GetTradeOrderItemsByPage(params) {
	return request({
		url: 'Trade/GetTradeOrderItemsByPage',
		method: 'get',
		params
	})
}
/**
 * 创建订单并兑换
 * @param {String} id 交易ID
 * @param {String} itemId 商品ID
 * @param {String} rechargeAccount 充值账号
 * @param {Number} quantity 商品数量
 */
export function Create(params) {
	return request({
		url: 'Trade/Create',
		method: 'post',
		data:params
	})
}

/**
 * 关闭订单
 * @param {String} id 订单ID
 */
export function Close(params) {
	return request({
		url: 'Trade/Close',
		method: 'put',
		data:params
	})
}

/**
 * 订单发货
 * @param {String} id 订单ID
 * @param {String} deliveryCompany 物流公司
 * @param {String} deliveryNo 物流单号
 * @param {String} cardNumber 卡号
 * @param {String} cardPassword 卡密
 */
export function Shipment(params) {
	return request({
		url: 'Trade/Shipment',
		method: 'put',
		data:params
	})
}
/**
 * 订单发货
 * @param {String} id 订单ID
 * @param {String} deliveryCompany 物流公司
 * @param {String} deliveryNo 物流单号
 * @param {String} cardNumber 卡号
 * @param {String} cardPassword 卡密
 */
export function ModifyDelivery(params) {
	return request({
		url: 'Trade/ModifyDelivery',
		method: 'put',
		data:params
	})
}
/**
 * 订单签收
 * @param {String} id 订单ID
 */
export function SignedFor(params) {
	return request({
		url: 'Trade/SignedFor',
		method: 'put',
		data:params
	})
}
/**
 * 分页获取订单列表
 */
export function GetTradeByPage(params) {
	return request({
		url: 'Trade/GetTradeByPage',
		method: 'get',
		params
	})
}
/**
 * 获取订单详情
 */
export function GetTrade(params) {
	return request({
		url: 'Trade/GetTrade',
		method: 'get',
		params
	})
}
/**
 * 修改订单状态
 */
export function ChangeTradeStatus(params) {
	return request({
		url: 'Trade/ChangeTradeStatus',
		method: 'put',
		data:params
	})
}
/**
 * 按照筛选条件导出箱码
 * @param {String} id 箱码批次批次id
 * @param {String} CodeStartWith 是否彻底删除
 */
export function ExploreSearchResultToExcel(params) {
	return request({
	  url: 'Trade/ExploreSearchResultToExcel',
	  method: 'get',
	  responseType: 'blob',
	  params,
	  paramsSerializer: params => {
		return qs.stringify(params, { indices: false })
	  }
	})
  }
  /**
 * 手动录入订单
 */
export function AddTrade(params) {
	return request({
		url: 'Trade/AddTrade',
		method: 'post',
		data:params
	})
}

export function ToggleDistributable(params) {
	return request({
		url: 'Trade/ToggleDistributable',
		method: 'put',
		data:params
	})
}
/**
 * 分页获取订单列表
 */
export function GetCustomersPage(params) {
	return request({
		url: 'Trade/GetCustomersPage',
		method: 'get',
		params
	})
}

export function GetTradeFromShanNiang(params) {
	return request({
		url: 'Trade/GetTradeFromShanNiang',
		method: 'get',
		params
	})
}
export function GetReceiptNotesPageMng(params) {
	return request({
		url: 'OrderPicking/GetReceiptNotesPageMng',
		method: 'get',
		params
	})
}
export function GetReceiptNoteDetail(params) {
	return request({
		url: 'OrderPicking/GetReceiptNoteDetail',
		method: 'get',
		params
	})
}
export function SaveReceiptNote(params) {
	return request({
		url: 'OrderPicking/SaveReceiptNote',
		method: 'put',
		data:params
	})
}
